如何在MSEG的範圍中,抓取物料的最新進貨供應商資訊
http://www.domino.club.tw/bbs/bbs2002.nsf/($All)/3DFE06B9A13BD41B4825750D002C07E8?OpenDocument
如何在MSEG的範圍中,抓取物料的最新進貨供應商資訊。
一般來說供應商的最新資訊會常常異動,以101 收貨之進貨供應商資訊來說,一般報表在查詢關聯時要如何帶出呢?
一般來說如果使用MSEG在處理過帳或是保稅相關的報表時,MSEG紀錄的供應商為當筆異動類型的供應商,換句話說,如果你的當筆MSEG紀錄沒有101異動類型的狀態,那你要的供應商欄位可能會是空白或是外包供應商。
我們必須在ITAB LOOP時,利用MSEG的MJAHR的年度欄位等於當下查詢的最新日期的年YYYY數值,這樣就可以撈出最新的供應商資訊。
以下簡短的重點SQL,請參閱:
欄位定義
MJAHR_Y LIKE MSEG-MJAHR,"最新年度
MJAHR LIKE MSEG-MJAHR,"文件年度
* 定義日期的字串月份擷取,T_YEAR 為輸入條件查詢年月日的YYYY
DATA: STRING(10),
V_OFFSET_START TYPE I,
V_OFFSET_LENGTH TYPE I,
V_YMD(10) TYPE C,
T_YEAR(4) TYPE C,
V_YEAR(4) TYPE C.
*今年年度,將輸入的YYYYMMDD擷取YYYY
V_OFFSET_START = 0.
V_OFFSET_LENGTH = 4.
T_YEAR = SY-DATUM+V_OFFSET_START(V_OFFSET_LENGTH).
LOOP AT ITAB3.
*透過101 與最新年度,抓取最新供應商代號, 供應商名稱
SELECT SINGLE * FROM MSEG WHERE MATNR = ITAB3-MATNR AND
WERKS = ITAB3-WERKS AND
LGORT = ITAB3-LGORT AND
MJAHR = T_YEAR AND
BWART = '101'.